43.3.14 Auto-configured Data Neo4j Tests
43.3.14 自动配置的Data Neo4j测试
你可以使用@DataNeo4jTest
测试Neo4j应用。默认的,它将会配置一个内存Neo4j(如果内嵌的驱动可用),扫描@NodeEntity
类和配置Spring Data Neo4j仓库。常规的@Component
bean将不会加载进ApplicationContext
。(在Spring Boot里使用Neo4J的更多信息,请查看章节 30.3 Neo4j。)
下面的例子展示了在Spring Boot里使用Neo4J测试的典型设置:
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.data.neo4j.DataNeo4jTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@DataNeo4jTest
public class ExampleDataNeo4jTests {
@Autowired
private YourRepository repository;
//
}
Data Neo4j测试类是事务型的,默认在每个测试结束时回滚,具体查看Spring参考文档的相关章节。如果这不是你想要的结果,你可以按如下方式对一个测试或是整个类禁用事务管理:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.autoconfigure.data.neo4j.DataNeo4jTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@RunWith(SpringRunner.class)
@DataNeo4jTest
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public class ExampleNonTransactionalTests {
}
在附录中可以查看@DataNeo4jTest
开启的自动配置列表。